1. Field of the Invention
The present invention relates to a storage controller and a method for controlling the storage controller. In particular, the invention is suited for application in a storage controller in which flash memory is employed as a storage device.
2. Description of Related Art
Conventionally, semiconductor memory and hard disk drives have been used as storage devices in storage controllers. Semiconductor memory has the advantages of fast access speed, small size, low power consumption, and high reliability; however, at the same time, semiconductor memory has the drawback of being much more expensive per bit-unit compared with the cost of hard disk drives. On the other hand, hard disk drives have the drawbacks of slower access speeds, larger size, higher power consumption, and lower reliability than semiconductor memory, while at the same time having the advantage of being much less expensive per bit-unit compared with the cost of semiconductor memory.
Therefore, hard disk drives have been considered as the mainstream for storage devices in storage systems in recent years. With this trend, technical innovation after technical innovation relating to hard disk drives has been made, and the storage capacity per unit area of a hard disk drive has been improved drastically.
Also, reliability, which is a weakness of hard disk drives, has been improved by means of the application of RAID (Redundant Array of Inexpensive/Independent Disks) technology.
However, in recent years, flash memory that is semiconductor memory capable of freely rewriting data and avoiding loss of data even if the power source is turned off, has been widely used in storage devices. The power-on-and-off speed of such flash memory is several tens of microseconds, which is much faster than that of hard disk drives. With the widespread use of the flash memory, its cost per bit-unit has also been reduced.
In order to realize a storage system with low power consumption by utilizing flash memory having the above-described characteristics in a storage system, techniques relating to MAID (Massive Array of Idle Disks) are disclosed in the U.S. Patent Application No. 2004/0054939 A1 and in an online article entitled “The Case for Massive Arrays of Idle Disks (MAID)” by Dennis Colarelli, Dirk Grunwald, and Michael Neufeld, dated Jan. 7, 2002, USENIX (U.S.) [found on Aug. 5, 2005 on the Internet] [URL: http://www.usenix.org/publications/library/proceedings/fast02/wips/colarelli.pdf]
However, the techniques described in the above-mentioned patent application and online article have the problem of being incapable of maintaining both low power consumption and high performance, because there is a limitation on where the MAID techniques can be applied in a storage system.
Flash memory is guaranteed only for about one hundred thousand writes. As a result, if the flash memory is utilized as a storage device in a storage system, it is necessary to take the characteristics of the flash memory into account.